package com.jiangcheng.utils.redis;

import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;

import java.util.HashSet;
import java.util.Set;


public class RedisCluster {

    static JedisCluster jedisCluster = null;

    /**
     * 因为是测试，这里没有写单例
     */
    public static void main(String[] args) {
//        String[] serverArray = "10.144.130.8:7000,10.144.130.13:7000,10.144.130.10:7000".split(",");
        String[] serverArray = "47.234.227.194:6379".split(",");
        Set<HostAndPort> nodes = new HashSet<>();

        for (String ipPort : serverArray) {
            String[] ipPortPair = ipPort.split(":");
            nodes.add(new HostAndPort(ipPortPair[0].trim(), Integer.valueOf(ipPortPair[1].trim())));
        }

        //注意：这里超时时间不要太短，他会有超时重试机制。而且其他像httpclient、dubbo等RPC框架也要注意这点
        jedisCluster = new JedisCluster(nodes, 1000, 1000, 1,
                "EncHsnW4rcCFrUNM", new GenericObjectPoolConfig());//如果连接不上 应该是地址不是外网地址 外网不可访问

//        大多数测试都是使用【nameKey】测试的，所以在启动之前先把这个key删掉
        String nameKey ="name1";
        jedisCluster.set(nameKey,"test");
        System.out.println(jedisCluster.get(nameKey));
    }

}
